home *** CD-ROM | disk | FTP | other *** search
/ Celestin Apprentice 2 / Apprentice-Release2.iso / Source Code / Think Class Libraries / Item Class / Item sources / CItemTableDemo.c < prev    next >
Encoding:
C/C++ Source or Header  |  1994-11-30  |  3.1 KB  |  131 lines  |  [TEXT/KAHL]

  1. /*
  2.  * File:        CItemTableDemo.c
  3.  * Created:        7/25/93
  4.  *
  5.  * Copyright © 1993 Animas Software Production. All rights reserved.
  6.  */
  7.  
  8. #include "CItemTableDemo.h"
  9. #include "CItemTable.h"
  10. #include "CStringArray.h"
  11. #include "CScrollPane.h"
  12. #include "CDialogText.h"
  13. #include "CDialog.h"
  14. #include "CPaneBorder.h"
  15. #include "DemoCommands.h"
  16. #include "CApplication.h"
  17. #include    "CItemList.h"
  18.  
  19. #define    kDemoDlgID            1030
  20.  
  21. enum        /* window item numbers    */
  22. {
  23.     kListScrollPaneItem = 1
  24. };
  25.  
  26. extern CApplication    *gApplication;
  27.  
  28. /******************************************************************************
  29.  IItemTableDemo
  30. ******************************************************************************/
  31.  
  32. void CItemTableDemo::IItemTableDemo( void)
  33. {
  34.     CScrollPane    *scrollPane;
  35.     CPaneBorder *listBorder;
  36.     Rect        margin;
  37.     Cell        aCell;
  38.     CList        *itemList;
  39.     
  40.     CDLOGDirector::IDLOGDirector( kDemoDlgID, gApplication);
  41.     
  42.     scrollPane = (CScrollPane*) itsWindow->FindViewByID( kListScrollPaneItem);
  43.     
  44.     ((CDialog*)itsWindow)->SetDefaultCmd( cmdAddString);
  45.     
  46.     
  47.     if (scrollPane)
  48.     {                
  49.         itsItemTable = new( CItemTable);
  50.         itsItemTable->IItemTable( scrollPane, itsWindow, 0, 0, 0, 0,
  51.             sizELASTIC, sizELASTIC,
  52.             0);
  53.         itsItemTable->SetSelectionFlags(selCanDrag | selCanRecieve | selDragRects);
  54.         itsItemTable->FitToEnclosure( TRUE, TRUE);
  55.         itsItemTable->SetDrawActiveBorder( TRUE);
  56.         
  57.         itsItemTable->SetID( 10);
  58.  
  59.         listBorder = new( CPaneBorder);
  60.         listBorder->IPaneBorder( kBorderFrame);
  61.         itsItemTable->SetBorder( listBorder);
  62.                 
  63. //        itsItemTable->SetSelectionFlags( selOnlyOne);
  64.         
  65.         scrollPane->InstallPanorama( itsItemTable);
  66.         
  67.         
  68.         itsItems = new(CItemList);
  69.         itsItems->IItemList();
  70.         itsItems->IItemRes( 'ItmL');
  71.         itsItemTable->SetArray( itsItems, FALSE);
  72.         
  73.         SetCell( aCell, 0, 0);
  74.         itsItemTable->SelectCell( aCell, FALSE, FALSE);
  75.  
  76.     }
  77.     
  78.  
  79. }    /* CItemTableDemo::IItemTableDemo */
  80.  
  81. /******************************************************************************
  82.  DoCommand
  83. ******************************************************************************/
  84.  
  85. void CItemTableDemo::DoCommand( long aCmd)
  86. {
  87.     
  88.     switch (aCmd)
  89.     {
  90.         default: 
  91.                 inherited::DoCommand( aCmd);
  92.                 break;
  93.     }
  94.                 
  95. }    /* CItemTableDemo::DoCommand */
  96.  
  97. /******************************************************************************
  98.  SetupItems
  99. ******************************************************************************/
  100.  
  101.  
  102. /******************************************************************************
  103.  ProviderChanged
  104. ******************************************************************************/
  105.  
  106. void CItemTableDemo::ProviderChanged( CCollaborator *aProvider, long reason,
  107.                                         void *info)
  108. {
  109.     Cell    selectedCell;
  110.     Boolean haveSelection;
  111.  
  112.     if ((aProvider == itsItemTable) && (reason == tableSelectionChanged))
  113.     {
  114.     }
  115.     else
  116.         inherited::ProviderChanged( aProvider, reason, info);
  117.  
  118. }    /* CItemTableDemo::ProviderChanged */
  119.  
  120. /******************************************************************************
  121.  Dispose
  122. ******************************************************************************/
  123.  
  124. void CItemTableDemo::Dispose( void)
  125. {
  126.     
  127.     inherited::Dispose();
  128. //    ForgetObject( itsItems);
  129. }
  130.  
  131.